package com.cjxt.ams.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cjxt.ams.domain.Role;
import com.cjxt.ams.domain.User;
import com.cjxt.ams.utils.PageUtils;
import com.cjxt.ams.utils.R;
import com.cjxt.ams.utils.Result;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * @author JK_a
 * @version V1.0
 * @Description: 角色管理 业务层接口
 * @className: RoleService
 * @date 2021/11/19 16:05
 * @company:华勤技术股份有限公司
 * @copyright: Copyright (c) 2021
 */

public interface RoleService extends IService<Role> {
    PageUtils queryPage(Map<String,Object> params);

    /**
     * @description: 查询所有角色
     * @author JK_a
     * @date 2021/12/9 17:06
     * @param
     * @return java.util.List<com.cjxt.ams.domain.Role>
     */
    List<Role> findAll();

    /**
     * @description: 添加角色
     * @author JK_a
     * @date 2021/12/9 17:08
     * @param role
     * @return com.cjxt.utils.Result
     */
    R insertRole(Role role);

    /**
     * @description: 修改角色
     * @author JK_a
     * @date 2021/12/9 17:09
     * @param role
     * @return
     */
    R update(Role role);

    /**
     * @description: 根据角色id批量删除
     * @author JK_a
     * @date 2021/12/9 17:13
     * @param roleId
     * @return
     */
    void deleteBatch(Integer[] roleId);


    /**
     * @description: 根据用户id删除角色与用户的关联
     * @author JK_a
     * @date 2021/12/9 17:19
     * @param userId
     * @return
     */
    void del(Integer userId);

    /**
     * @description: 条件查询分页
     * @author JK_a
     * @date 2021/12/9 17:21
     * @param role
     * @return java.util.IPage<com.cjxt.ams.domain.Role>
     */
    IPage<Role> selectRole(Role role);
}
